package model

import org.uqbar.arena.layout.VerticalLayout
import org.uqbar.arena.widgets.Panel
import org.uqbar.arena.windows.WindowOwner
import templates.EdicionAtributos
import templates.MyOwnSimpleWindow
import modelApp.EdicionLugarAppModel
import org.uqbar.commons.model.UserException

class EditarLugaresView extends MyOwnSimpleWindow<EdicionLugarAppModel>{
	
	@Property EdicionAtributos template = new EdicionAtributos

	new(WindowOwner parent,Pais pais) {
		super(parent, new EdicionLugarAppModel(pais) )
	}
	
	override createContents(Panel mainPanel) {
		this.setTitle("Editar Lugares")
		mainPanel.setLayout(new VerticalLayout)
		
		this.template.listaEliminable(mainPanel,"Lugares de Interés", "paisUM.lugaresInteresantes",
				"delLugar",[| modelObject.quitarLugarInteresante])
		
		this.template.agregarAtributoSel(mainPanel,"lugaresPosibles","addLugar",
				[| modelObject.agregarLugarInteresante], 
				[|if (this.modelObject.paisUM.lugaresInteresantes.size < 3)
					this.raiseWarning
				else {close} ])
											
	}
	
	def raiseWarning(){
		throw new UserException("Por favor recuerde, que todos los paises deben tener tres lugares.")	
	}
}